//package com.ls.utils.pay;
//
//import com.baomidou.mybatisplus.annotation.TableField;
//import com.fasterxml.jackson.databind.annotation.JsonSerialize;
//import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
//import com.luo.expression.bean.entity.base.BaseEntity;
//import com.luo.expression.utils.TimeUtils;
//
//import java.math.BigDecimal;
//import java.math.RoundingMode;
//import java.util.Date;
//
//import io.swagger.annotations.ApiModel;
//import io.swagger.annotations.ApiModelProperty;
//import lombok.Data;
//import lombok.EqualsAndHashCode;
//
///**
// * <p>
// *
// * </p>
// *
// * @author luozisong
// * @since 2023-04-07
// */
//@Data
//@EqualsAndHashCode(callSuper = false)
//@ApiModel(value = "OrderUser对象", description = "")
//public class OrderUser extends BaseEntity<OrderUser> {
//
//    private static final long serialVersionUID = 1L;
//    @JsonSerialize(using = ToStringSerializer.class)
//    private Long payUserId;
//
//    @ApiModelProperty(value = "微信预支付id")
//    @JsonSerialize(using = ToStringSerializer.class)
//    private Long orderPrepareId;
//
//    /**
//     * iOS配置的商品id
//     */
//    private String iosGoodsId;
//    /**
//     * 合计最终价格（折扣了优惠券积分等的最终价格）
//     */
//    private BigDecimal payPrice;
//    /**
//     * 本单佣金支出价格
//     */
//    private BigDecimal brokeragePrice;
//    /**
//     * 本单佣金支出价格
//     */
//    private Boolean brokerageDeal;
//
//
//    /**
//     * 1.微信支付 2.支付宝等 3.系统余额支付 4.ios支付
//     */
//    @ApiModelProperty(value = " 1.微信支付 2.支付宝等 3.系统支付")
//    private Integer payType;
//
//
//    /**
//     * 1.购买币
//     * 2.购买会员套餐
//     */
//    private Integer type;
//
//    /**
//     * 关联的会员套餐id
//     */
//    private Long vipId;
//    private Integer vipDuration;
//
//    @ApiModelProperty(value = "最终充值的金币数量")
//    private Long chargeGold;
//
//    /**
//     * 和用户平台统一
//     */
//    @ApiModelProperty(value = "")
//    private Integer payPlatform;
//    /**
//     * 订单状态 -3超时取消  -2商家取消 -1用户已取消
//     * 1.待付款 2.已付款 97.充值失败
//     * 98.退款中   99.已退款 100.已完成
//     */
//    private Integer status;
//
//    /**
//     * 退款状态 0未申请退款 1.申请退款中 2.退款失败	     * 100退款成功
//     */
//    @ApiModelProperty(value = "退款状态 0未申请退款 1.申请退款中 2.退款失败	     * 100退款成功")
//    private Integer refundStatus;
//
//    @ApiModelProperty(value = "订单编号")
//    private String orderNum;
//    /**
//     * 微信订单编号 -1模拟支付的订单 0.未支付 100.余额支付的订单
//     */
//    private String orderWxNum;
//    @ApiModelProperty(value = "退款单号")
//    private String refundNum;
//
//    @ApiModelProperty(value = "退款单号(微信平台)")
//    private String refundWxNum;
//
//    @ApiModelProperty(value = "退款金额")
//    private BigDecimal refundFee;
//
//    @ApiModelProperty(value = "取消订单备注")
//    private String cancelOrderRemark;
//
//    @ApiModelProperty(value = "订单备注")
//    private String remark;
//    @ApiModelProperty(value = "苹果订单接收平局")
//    private String receipt;
//
//    @ApiModelProperty(value = "付款时间")
//    private Date payDate;
//
//    @ApiModelProperty(value = "退款申请时间")
//    private Date refundApplyDate;
//
//    @ApiModelProperty(value = "退款成功时间")
//    private Date refundDate;
//
//    @ApiModelProperty(value = "有效时间为固定值")
//    private Long validCountDown;
//
//    /**
//     * 倒计时时间
//     */
//    @TableField(exist = false)
//    private Long countDown;
//    @TableField(exist = false)
//    private String statusName;
//
//    //实时计算倒计时时间
//    public Long getCountDown() {
//        if (status == 1) {//待付款状态才有倒计时时间
//            countDown = validCountDown - (TimeUtils.getLocalDatestamp() - getCreateTime().getTime());
//        } else {
//            countDown = 0L;
//        }
//        return countDown;
//    }
//
//
//    public String getStatusName() {
//        switch (status) {
//            case -3:
//                return "超时取消";
//            case -2:
//                return "商家取消";
//            case -1:
//                return "用户已取消";
//            case 1:
//                return "代付款";
//            case 2:
//                return "已付款";
//            case 97:
//                return "充值失败";
//            case 98:
//                return "退款中";
//            case 99:
//                return "已退款";
//            case 100:
//                return "已完成";
//        }
//        return statusName;
//    }
//
//    /**
//     * 得到实际到账的金额，这个金额是扣除了第三方之后的金额
//     */
//    public BigDecimal getRealGetPrice() {
//        if (payType == null) {
//            return payPrice.multiply(new BigDecimal(0.7)).setScale(2, RoundingMode.HALF_DOWN);//默认为扣除了0.3的价格
//        }
//        if (payType == 4) {
//            return payPrice.multiply(new BigDecimal(0.7)).setScale(2, RoundingMode.HALF_DOWN);//默认为扣除了0.3的价格
//        } else {
//            return payPrice;
//        }
//    }
//}
